package com.wolf.gulimall.search.vo;

import com.wolf.common.to.es.SkuEsModel;
import lombok.Data;

import java.util.List;

/**
 * 检索结果实体类
 */
@Data
public class SearchResult {

    /**
     * 商品信息集合
     */
    private List<SkuEsModel> products;

    /**
     * 品牌信息
     */
    private List<BrandVo> brands;

    /**
     * 属性信息
     */
    private List<AttrVo> attrs;

    /**
     * 分类信息
     */
    private List<CatalogVo> catalogs;

    /**
     * 当前页码
     */
    private Integer pageNum;

    /**
     * 总记录数
     */
    private Long total;

    /**
     * 总页码
     */
    private Integer totalPages;

    /**
     * 导航页
     */
    private List<Integer> pageNavs;

    /**
     * 面包屑导航
     */
    private List<NavVo> navs;



    @Data
    public static class NavVo {
        /**
         * 面包屑名称
         */
        private String navName;
        /**
         * 面包屑数据值
         */
        private String navValue;
        /**
         * 跳转地址
         */
        private String link;
    }
    @Data
    public static class BrandVo{
        /**
         * 品牌ID
         */
        private Long brandId;

        /**
         * 品牌名称
         */
        private String brandName;

        /**
         * 品牌logo
         */
        private String brandImg;
    }

    @Data
    public static class AttrVo{
        /**
         * 属性ID
         */
        private Long attrId;

        /**
         * 属性名称
         */
        private String attrName;

        /**
         * 属性值
         */
        private List<String> attrValue;
    }

    @Data
    public static class CatalogVo{
        /**
         * 分类ID
         */
        private Long catalogId;

        /**
         * 分类名称
         */
        private String catalogName;

    }
}
